"""
@Project ：Python 
@File    ：04-数据容器：tuple（元组）.py
@IDE     ：PyCharm 
@Author  ：DongCha
@Date    ：2023/11/8 0008 11:35 
"""

# 元组
# 字面量
# (元素, 元素, ..., 元素)
# 定义元组变量
# 变量名称 = (1, 2, 3, 4, 5)
# 定义空元组
# 变量名称 = ()
# 变量名称 = tuple()
# 嵌套，和下标索引与列表索引一样
# 特点：
# 1.可以容纳多个数据
# 2.可以容纳不同类型的数据（混装）
# 3.数据是有序存储的（下标索引）
# 4.允许重复数据存在
# 5.不可以修改（增加/删除等）
# 6.支持for循环

# 定义元组
t1 = (1, 2, 3, 4, 5)
t2 = ()
t3 = tuple()

# 定义单个元素的元组
t4 = ("aaa",)

# 元组的嵌套
t5 = (("aaa",), ("bbb",))

# 通过下标索引取出内容
print(t5[1][0])

# 元组的操作：index查找方法
print(t5.index(("bbb",)))

# 元组的操作：count统计方法
print(t5.count(("bbb",)))

# 元组的操作：len方法
print(len(t5))

# 元组的遍历：while
i = 0
while i < len(t1):
    print(t1[i])
    i += 1

# 元组的遍历：for
for j in t1:
    print(j)

# 元组内容的修改
t6 = (["aaa", "bbb", "ccc"],)
t6[0][2] = "ddd"
print(t6)

# 定义一个元组，内容是：('奥卡福', 22, ['football', 'music'])，记录的是一个学生的信息（姓名， 年龄， 爱好）
# 请通过元组的方法，对其进行：
t7 = ('奥卡福', 22, ['football', 'music'])
# 1.查询其年龄所在的下标位置
index = t7.index(22)
print(index)
# 2.查询学生的姓名
print(t7[0])
# 3.删除学生爱好中的football
t7[2].remove('football')
# 4.增加爱好：coding到爱好list内
t7[2].append('coding')
